package com.xiaomei.manager.dao;

import java.util.List;

import com.xiaomei.manager.model.Broadcast;
import com.xiaomei.manager.web.dto.CountDto;
import com.xiaomei.manager.web.dto.req.DayCommentDto;
import com.xiaomei.manager.web.dto.req.DayPostDto;
import com.xiaomei.manager.web.dto.req.ProbabilityDto;
import com.xiaomei.manager.web.page.Page;

public interface BroadcastMapper extends BaseMapper {
	
	/**
	 * 查询广播列表(分页查询)
	 * @param page
	 * @return
	 */
	List<Broadcast> selectBroadcastForPage(Page<Broadcast> page);
	
	/**
	 * 发布预发布广播
	 * @return
	 */
	int pushBeforeBroadcast();
	
	/**
	 * 更新评论数减一 
	 * @param id
	 * @return
	 */
	int updateCommentCountById(Integer id);
	/**
	 * 更新评论数加一
	 * @param id
	 * @return
	 */
	int updateCommentCount(Integer id);
	/**
	 * 日发广播量
	 * @param page
	 * @return
	 */
	List<DayPostDto> selectDayPost(Page<DayPostDto> page);
	/**
	 * 日评论量
	 * @param page
	 * @return
	 */
	List<DayCommentDto> selectDayComment(Page<DayCommentDto> page);
	/**
	 * 日点赞量
	 * @param page
	 * @return
	 */
	List<DayPostDto> selectDayFabulous(Page<DayPostDto> page);
	/**
	 * 评论点赞概率统计
	 * @param page
	 * @return
	 */
	List<ProbabilityDto> selectProbability(Page<ProbabilityDto> page);
	/**
	 * 返回发帖量
	 * @return
	 */
	CountDto selectBroadcastCount();
	/**
	 *随机获取当天的一条广播
	 * @return
	 */
	Broadcast selectBroadcastFabulous();
	/**
     * 更新广播点赞数（+1）
     * @param id 广播id
     * @return
     */
    int updateFabulousCountById(Integer id);
}